package mytask.dao;

import java.util.List;

import mytask.model.Project;
import mytask.model.Ticket;
import mytask.model.User;

public interface TicketDAO {

    public void saveTicket(Ticket ticket);

    public Ticket getTicket(final int id);

    public List<Ticket> listTickets();

    public List<Ticket> listTickets(final User user, final int maxResults);

    public List<Ticket> listTickets(final Project project, final int offset, final int limit);

    public int numTickets(final Project project);

    public List<Ticket> listTicketsFromAcceptedProjects(final User user, final Project project);

    public List<Ticket> listTicketsFromAcceptedProjects(final User user, final List<Project> projects, 
            final int maxResults);
}
